誤差逆伝播と微積分 | Chapter 4 Deep Learning
https://youtu.be/WjAXZkQSE2U?si=lgTNrUKA4_MvwV9A
誤差逆伝播と微積分
入力となっている重み、バイアス、アクティベーションの変化に対してコストがどれだけ敏感に反応するかわかるとうれしい
実際に変えられるのは重みとバイアスのみでアクティベーションは変えられないが、変化に対してどのようにコストが変化するかわかるのはうれしい
最後のニューロンのアクティベーションを$ a^{(L)}
その前の層のものを$ a^{(L-1)}
重みを $ w^{(L)}
目標出力 を$ y で表すとき
コスト$ C_0は以下の式で求められる
$ C_0 = (a^{(L)}-y)^2
アクティベーション$ a^{(L)}は
$ a^{(L)} = \sigma(w^{(L)}a^{(L-1)}+b^{(L)})
重み付き和を$ z^{(L)}と表現することにすると
$ z^{(L)} = w^{(L)}a^{(L-1)}+b^{(L)}
$ a^{(L)} = \sigma(z^{(L)})
アクティベーションは重み付き和を活性化関数にかけたものといえる?cak.icon
誤差逆伝播と微積分 | Chapter 4 Deep Learning#6693579ac9ec6a000055643a
重みを変化させたときにコストがどう変化するか?は$ \frac{\partial C_0}{\partial w^{(L)}}と表すことができる
上記の式により、
$ \frac{\partial C_0}{\partial w^{(L)}} =\frac{\partial z^{(L)}}{\partial w^{(L)}}\frac{\partial a^{(L)}}{\partial z^{(L)}}\frac{\partial C_0}{\partial a^{(L)}}と表現できる
これを連鎖率という
バイアスやアクティベーションに対する変化も$ \frac{\partial C_0}{\partial b^{(L)}}や$ \frac{\partial C_0}{\partial a^{(L)}}であらわせる
$ \frac{\partial C_0}{\partial w^{(L)}} =\frac{\partial z^{(L)}}{\partial w^{(L)}}\frac{\partial a^{(L)}}{\partial z^{(L)}}\frac{\partial C_0}{\partial a^{(L)}}
$ =a^{(L-1)} \sigma'(z^{(L)})2(a^{(L)}-y)
この動画内で理解が難しい部分が少しあるので1-5 誤差逆伝播法『ゼロから作るDeep Learning』に戻る #2024-07-13
具体的には偏微分がよくわからない
わかったcak.icon #2024-07-14
シリーズ: ニューラルネットワークの仕組み | Deep Learning 3Blue1Brown
#3Blue1BrownJapan
誤差逆伝播法